package com.demo;

import net.sf.cglib.proxy.LazyLoader;

/****
* 实现LazyLoader的loadObject方法，返回对象实例，该实例只有第一次调用的时候进行初始化，之后不再重新调用，proxy类初始化时进行了成员的赋值，之后使用该成员进行调用父类方法
* 延迟加载初始化
* 类似于spring prototype的singleton ，在第一次调用的时候进行初始化，并且将此实例存储起来，之后都将返回改实例
* 可参考资料：
* https://shensy.iteye.com/blog/1881277
*/
public class LazyLoaderCallback implements LazyLoader {
   @Override
   public Object loadObject() throws Exception {
       CallbackBean callbackBean = new CallbackBean();
       return callbackBean;
   }
}
